package com.caiwm.service.impls;

import com.caiwm.common.ServerResponse;
import com.caiwm.common.SqlSessionUtils;
import com.caiwm.dao.RoleMapper;
import com.caiwm.dao.UserMapper;
import com.caiwm.entity.Role;
import com.caiwm.entity.User;
import com.caiwm.viewObject.UserVo;
import org.apache.ibatis.session.SqlSession;


/**
 * <pre>
 * ━━━━━━神兽出没━━━━━━
 * 　　　┏┓　　　┏┓
 * 　　┏┛┻━━━┛┻┓
 * 　　┃　　　　　　　┃
 * 　　┃　　　━　　　┃
 * 　　┃　┳┛　┗┳　┃
 * 　　┃　　　　　　　┃
 * 　　┃　　　┻　　　┃
 * 　　┃　　　　　　　┃
 * 　　┗━┓　　　┏━┛
 * 　　　　┃　　　┃  神兽保佑
 * 　　　　┃　　　┃  代码无bug
 * 　　　　┃　　　┗━━━┓
 * 　　　　┃　　　　　　　┣┓
 * 　　　　┃　　　　　　　┏┛
 * 　　　　┗┓┓┏━┳┓┏┛
 * 　　　　　┃┫┫　┃┫┫
 * 　　　　　┗┻┛　┗┻┛
 * ━━━━━━感觉萌萌哒━━━━━━
 * </pre>
 *
 * @author shiqla
 * @Desc 用户操作的业务层
 * @Date 2019/1/7/007
 */
public class UserService {

    public UserService(){
    }

    public ServerResponse list() {

        return null;
    }

    public ServerResponse selectByCondition(Integer pageNum, Integer pageSize, String username) {
        return null;
    }

    /**
     * 用户登录
     * @param username
     * @param passwd
     * @return
     */
    public ServerResponse login(String username,String passwd){

        SqlSession sqlSession = SqlSessionUtils.getInstance().getSqlSession();
        UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
        RoleMapper roleMapper =sqlSession.getMapper(RoleMapper.class);

        User user = userMapper.login(username,passwd);
        if(user == null){
            return ServerResponse.createByErrorMessage("用户或者密码错误");
        }
        Role role = roleMapper.selectByPrimaryKey(user.getRoleId());
        UserVo userVo = new UserVo(user.getId(),user.getUserName(),null,user.getRoleId(),role.getRoleName());
        return ServerResponse.createBySuccess("登录成功",userVo);
    }

    public static void main(String[] args){
        UserService userService = new UserService();
        ServerResponse serverResponse = userService.login("shiqla1","shiqla");
        System.out.println(serverResponse.toString());
    }
}
